The creation of software often starts with an unfulfilled need that can be met by the operations of an electronic apparatus. The unfulfilled need provides direction for a software programmer to begin planning an outline of logic that can achieve the goal of meeting the unfulfilled need. The software programmer is responsible for providing finalized code that is both executable on an electronic apparatus and capable of achieving the goal.
Some software development systems facilitate the production of finalized executable code from higher-level logical outlines. By way of example only, a software development system may permit a programmer to input a logic outline using a graphical user interface (GUI). The logical components that are input by way of the GUI can then be transformed by the software development system into skeleton code. The programmer is then empowered to expand the skeleton code into complete source code. The source code can be transformed into finalized executable code using a compiler or similar development tool.